package com.zmn.oms.model.entity.serviceitem;

import lombok.Data;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * 类描述：工单服务项目（目前只有标准收费单有）
 * 		修改时间：2019-12-01 15:55 ， - lhl
 * 		修改内容：订单新增故障服务项类型支持，故障服务项包含故障明细
 * 
 * @author heciqi
 * @date 2018-12-05 11:33
 */
@Data
public class OrderServiceItem implements Serializable {


	private static final long serialVersionUID =  6033995924017391498L;


	private Long itemId;

	/**
	 * 工单id
	 */
	private Long orderId;

	/**
     * 工单产品扩展ID
     */
    private Long proExtId;

    /**
     * 产品Id
     */
    private Integer productId;

    /**
     * 产品名称
     */
    private String productName;

	/**
	 * 服务项目Id
	 */
	private Integer servItemId;

	/**
	 * 服务项名称
	 */
	private String servItemName;

	/**
	 * 服务分组Id
	 */
	private Integer servItemGroupId;

	/**
	 * 服务分组名称
	 */
	private String servItemGroupName;

	/**
	 * 项目分类Id
	 * @see com.zmn.plat.common.constant.ItemCategoryConsts#MAINTAIN_ITEM
	 */
	private Integer servItemCategId;

	/**
	 * 项目数量
	 */
	private Integer number;

	/**
	 * 价格(单价)
	 * 当存在阶梯价时为0，服务审核、收单页面需要用到这个值
	 */
	private Integer itemPrice;

	/**
	 * 总价
	 */
	private Integer totalPrice;

	/**
	 * 原单价(阶梯价之前的单价)
	 */
	private Integer origItemPrice;

	/**
	 * 原价(阶梯价之前的价格)
	 */
	private Integer origTotalPrice;

	/**
	 * 内部价(单价)
	 */
	private Integer internalSettlementPrice;

	/**
	 * 内部价(单价*数量)
	 */
	private Integer internalTotalPrice;

	/**
	 * 外部价(单价)
	 */
	private Integer externalSettlementPrice;

	/**
	 * 外部价(单价*数量)
	 */
	private Integer externalTotalPrice;


	private String creater;

	private Date createTime;

	/**
	 * 服务项明细（仅支持故障服务项类型）
	 */
	private OrderServiceItemDetail itemDetail;

	/**
	 * 服务项明细
	 */
	private List<OrderServiceItemCell> itemDetailList;

	/**
	 * 阶梯价总价（非阶梯价不需要传价格），即现服务项总价
	 * DTO
	 */
	private Integer tieredTotalPrice;

	/**
	 * 服务项单位
	 */
	private String itemUnit;

}
